/**
 * Address 业务逻辑
 * @author yanwl
 * @date 2015-03-12
 */
package com.chnbst.bstyun.service;

import java.util.List;
import java.util.Map;

import com.chnbst.bstyun.model.pojo.Address;
import com.chnbst.bstyun.model.vo.AddressVo;

public interface AddressService {

	/**
	 * 新增地址
	 * @param address 地址对象
	 * @return boolean
	 */
	boolean insertAddress(Address address);
	
	/**
	 * 删除地址
	 * @param addressId 地址编号
	 * @return boolean
	 */
	boolean deleteAddress(Integer addressId);
	
	/**
	 * 修改地址
	 * @param address 地址对象
	 * @return boolean
	 */
	boolean updateAddress(Address address);
	
	/**
	 * 根据用户ID查询地址列表信息
	 * @return 返回地址列表
	 */
	List<AddressVo> selectAddressVos(Integer userId);
	
	/**
     * 根据地址ID查询地址对象
     * @param addressId 地址ID
     * @return 返回 address对象
     */
	Address selectAddress(Integer addressId);
	
	/**
	 * 根据用户ID查询地址总数
	 * @return 返回地址总数
	 */
	int selectAddressRows(Integer userId);
	
	/**
     * 根据不同条件查询地址对象
     * @param map
     * @return 返回 address对象
     */
	AddressVo selectAddressVoByMap(Map<String, Object> map);
	
	/**
	 * 设置地址
	 * @param userId 用户ID
	 * @return boolean
	 */
	boolean setDefalutAddress(Integer userId,Integer addressId);
}
